The present invention relates to a coding device and decoding device for use in hard disk and other storage apparatus.
Recently, the so-called PRML (Partial Response Maximum Likelihood) system is widely used for recording and reproducing in magnetic disk and other storage apparatus. In the PRML system, a partial response (PR) channel is combined with Viterbi coding.
The reproduction circuit is assumed as a channel with, for example, the Partial Response Class 4 (PR4) transfer function. The PR4 is expressed by G(D)=(1−D)(1+D) wherein D is the delay operator. For higher density recording, it is known that higher order partial responses such as Enhanced Partial Response Class 4 (EPR4) of G(D)=(1−D)(1+D)2, Enhanced EPR4 of G(D)=(1−D)(1+D)3 and MEEPR4 (Modified Enhanced EPR4) of G(D)=(1−D)2(5+4D+2D2) are suitable.
Thus, in magnetic recording, a binary code is converted to a three-, five- or seven-duration-correlated signal. The binary code composed of bit “1” and “0” is reproduced from this three-, five- or seven-duration-correlated signal sequence through Viterbi decoding.
In the magnetic disk apparatus, recorded data is reproduced by this PRML method from the signal read from the magnetic recording medium by the magnetic head which moves on the magnetic recording medium. The data sampling timing is also obtained from the read signal.
In this case, if long bit stream of “0” or “1” consecutive data bits come, the voltage of the read signal becomes at around 0 V, making it difficult to pick up the sampling timing.
Therefore, before recording is performed in most magnetic disk apparatus, conversion is made to a code where the maximum run length of “0” is constrained. As such codes, 8/9 GCR and 16/17 GCR codes have been known widely. In the case of Viterbi decoding, however, the decoding error probability is subject to the inter-symbol distances of the recorded code. It is therefore preferable to construct a code with both short run lengths and long inter-symbol distances. In this regard, the above-cited GCR codes are not appropriate.
Although it is generally difficult to construct a short run length and long inter-symbol distance code, it is found possible to encode 16 bits of data to 17 bits so as to constrain the maximum run lengths of “1” and “0” to 3 and 10 respectively. This code is called a 16/17 QMTR (Quasi-Maximum Transition Run) code. See Patent Document 1 (Japanese Patent Laid-open No. 11-243345).
In a disk apparatus using this 16/17 QMTR, the data to be recorded is given error correction code and the resultant code sequence including the error correction code is divided into strings of 16 bits each. Each 16-bit long code string is converted to 17-bit coded data by the 16/17 QMTR coding for recording.